Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

D(t) → 1
D(constant) → 0
D(+(x, y)) → +(D(x), D(y))
D(*(x, y)) → +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) → -(D(x), D(y))
D(minus(x)) → minus(D(x))
D(div(x, y)) → -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) → div(D(x), x)
D(pow(x, y)) → +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))

Q is empty.


QTRS
  ↳ DirectTerminationProof

Q restricted rewrite system:
The TRS R consists of the following rules:

D(t) → 1
D(constant) → 0
D(+(x, y)) → +(D(x), D(y))
D(*(x, y)) → +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) → -(D(x), D(y))
D(minus(x)) → minus(D(x))
D(div(x, y)) → -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) → div(D(x), x)
D(pow(x, y)) → +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))

Q is empty.

We use [23] with the following order to prove termination.

Recursive path order with status [2].
Precedence:
D1 > 0 > ln1
D1 > +2 > ln1
D1 > *2 > ln1
D1 > minus1 > ln1
D1 > div2 > -2 > ln1
D1 > pow2 > 1 > ln1
D1 > pow2 > -2 > ln1
D1 > 2 > ln1
t > 1 > ln1
constant > ln1

Status:
2: multiset
D1: multiset
0: multiset
ln1: multiset
div2: multiset
pow2: multiset
*2: multiset
minus1: multiset
+2: multiset
t: multiset
-2: multiset
1: multiset
constant: multiset